Computer systems include non-volatile memory to store the first code executed when powered on or “booted”. This non-volatile memory can be referred to as “firmware”. The code of the firmware can provide a firmware interface, such as a basic input/output system (BIOS), unified extensible firmware interface (UEFI), or the like. At least a portion of the code of the firmware can be updatable. The current state of updateable code in the firmware is referred to as an “image.” Thus, a current image of the firmware can be replaced with a new image. A firmware update process can involve erasing and reprogramming non-volatile memory of the firmware.
After a firmware update, a computer system may fail to boot. For example, the new image of the firmware can be corrupted during the update process, and/or can include errors or “bugs” that prevent the computer from booting and/or operating properly. In such case, a user of the computer system can update the firmware with a replacement image known to boot the computer system, such as the original image that existed before updating to the new image. It is often the case, however, that the original image is no longer readily available, having been replaced by the new image. Thus, the user must perform additional work to locate a replacement image and perform the update process again.